查看原文
其他

创作经验 | 使用Unity创建高保真建筑VR项目

Unity Unity官方平台 2019-05-07

本月初,我们分享了Oneiros工作室使用Unity开发的VR项目演示。这或许是我们见过最精致的Unity场景之一,该项目具有出色的光照效果,漂亮的材质,优秀的雨水,苔藓的效果以及脏镜头处理,这些元素让该项目的VR体验出类拔萃,效果更为逼真。


今天将由Oneiros工作室的Mirko Vescio分享在使用Unity创作该项目的创作经验。



请注意:受微信端展示视频清晰度限制,本文中我们将项目中的场景使用图片进行高清晰度的展示,你也可以访问腾讯视频客户端观看:http://t.cn/EPDPTQp


资源下载

如果你想仔细研究这个细节丰富的斯堪的纳维亚风格房屋,可以访问Asset Store资源商店购买并获取场景资源包。


场景经过了高度优化,非常适合制作流畅的沉浸式VR体验。你可以在自己的项目中重用该资源包中的资源。


ArchVizPRO Interior Vol.6下载:

https://assetstore.unity.com/packages/3d/environments/urban/archvizpro-interior-vol-6-120489



本文演示项目下载地址:

https://oneirosvr.com/download/


演示项目

开发虚拟现实体验的演示项目时,我们做的第一步是找到灵感的合理实现。

 

我们从最新演示项目ArchVizPro Vol.6开始,通过修改它并加入一些个性化改动。项目中遇到的挑战都是开发虚拟现实体验所常见的。

 

这个项目没有后期制作。几乎所有内容都必须在3D环境完成,所以无法仅仅展示特定内容,用户会选择自己的关注点。因此找到整个场景中细节和优化之间的适当平衡尤为重要。


技术选择

通常情况下, Unity作为实时渲染引擎有更大的灵活性。

 

在获得技术支持方面,Unity有大量在线资源和优秀的文档,所以在使用Unity过程中遇到的问题几乎都能找到解决方案。

 

但是寻找使用Unity开发的优秀建筑可视化场景并不容易。人们常说Unity最出名的是移动平台的作品,或者认为Unity无法制作逼真的图像效果,但这种观点是错误的。Unity在自身的改进上做出了很多努力,而出色的演示项目《死者之书》便是这一切的证明。

 

制作过程会根据项目具体需求而发生变化,以最新演示项目为示例,我们所做的第一步是将工作流程划分为单个资源和环境的制作。

 

 

资源的创建过程是常见的标准过程。我们首先对高多边形网格进行建模,然后制作网格的低多边形版本。完成3D建模后,最后一步是使用Substance制作PBR材质。

 

创建环境的成员不仅要处理3D建模和制作着色器,他们还要管理Unity中的场景以及在3ds Max中检查环境的3D模型,并在Unity中检查光照,从而避免出现错误和瑕疵。

 

此外,还必须处理界面和代码部分,实现VR体验中的交互性和其它需求。

 

 

关于开发VR体验和制作游戏场景的不同,首要考虑是帧率问题。

 

对于游戏而言,帧率只要在30~60 fps之间即可,但是对VR而言,最好能保持在75~90 fps之间。细节丰富和舒适感是VR体验的基本要求。


植被

在实时引擎中创作植被是一个巨大的挑战。实现逼真效果的过程非常复杂,需要在大量多边形和真实性之间找到合适的平衡


我们项目中的植被使用不同软件来处理,并经过了多次测试。首先,我们处理在3ds Max中使用了Guruware ivy Generator插件制作的3D模型,对大量几何体进行优化。

 

准备好低多边形模型后,使用Substance Designer烘焙该模型,绘制顶点颜色,然后使用Vertex Motion制作最终的着色器。



对于苔藓材质,我们使用Substance Designer进行制作。


雨水

雨水效果则是VR中一项非常艰巨的挑战,雨水效果可以分为多个部分:雨水本身、雨水在地面溅起水滴的效果和雨水落到窗户的效果。

 

 

雨水本身使用Unity Shuriken粒子系统进行制作,雨水溅起效果需要通过更复杂的工作流程来处理。

 

我们首先在3ds Max中制作粒子模拟效果,在Substance Designer制作地面的纹理,然后开发自定义着色器Parallax Occlusion Mapping 和Flipbook。

 

 

雨水落到窗户的效果是使用3ds Max的粒子模拟功能制作的,目的是获得帧的序列。



平铺和调整需要在After Effect中处理,我们使用VFX Toolbox制作Flipbook  8*8的纹理,最后制作自定义折射着色器。


后期制作

使用线性颜色空间能得到更自然的光线,但会使画面变得更像平面。为了弥补这个缺陷,使用颜色分级非常重要,该功能可以增加图像反差并平衡阴影和高光。

 

在此过程中使用正确的PBR值非常重要,这样能够获得正确效果的材质。我们还需要避免让反照率变得完全黑色或白色,这是PBR工作流程中最常见的错误之一。

 

要重视眼睛适应效果,让体验者“感受到光线”。

 

 

处理优化时,第一步是优化所有几何体,避免出现多边形过多的网格。


整个几何体优化完成后,必须避免过多的绘制调用,可以的话,请使用烘焙后光线。使用遮蔽剔除也是提升Unity场景帧率的一个技巧。

 

小结

Oneiros工作室使用Unity创建高保真建筑VR项目创作经验就分享到这里,希望能对正在进行VR项目的开发者带来帮助,本文提供了资源以及演示项目下载,所以大家可以自行进行研究。


更多Unity项目创作惊叹分享尽在Unity官方中文论坛(UnityChina.cn)!

 

推荐阅读

官方活动

优惠活动|Unity订阅新起航,开启您的创作之旅

现在访问Unity在线商店(store.unity.com),成功订阅Unity Pro专业版、Unity Plus加强版即可享受全新增值服务组合。11月18日之前订阅,更有指定插件资源限时赠送。[了解详情...]

活动地址:https://store.unity.com/cn


Unity鼎力支持第二届中国大学生VR/AR开发大赛

由上海交通大学主办,Unity作为唯一技术主办方将鼎力支持的第二届中国大学生VR/AR开发大赛也正式开始,感兴趣的大学生可以报名参加! [了解详情...]

报名地址:http://edusjtuvr.mikecrm.com/RvmTkMe


点击“阅读原文”访问Unity官方中文论坛

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存